import sys
import math
from decimal import *
def prime_generator(nr_elemente_prime):
vector_prime=[-1]*nr_elemente_prime
vector_rasp=[0]*nr_elemente_prime
vector_prime[1]=1
vector_rasp[1]=1
contor=2
for i in range(2,nr_elemente_prime):
if vector_prime[i]==-1:
vector_prime[i]=1
vector_rasp[contor]=i
contor=contor+1
for j in range(i+i,nr_elemente_prime,i):
if vector_prime[j]==-1:
vector_prime[j]=i
set_prime=set(vector_rasp)
sume_disponibile=set()
for i in range(3,nr_elemente_prime):
sume_disponibile.add(vector_rasp[i-1]+vector_rasp[i])
rasp_final=""
def transformare_baza(numar,baza):
transformare=""
while numar>=baza:
rest=numar%baza
numar=numar//baza
transformare+=str(rest)
transformare+=str(numar)
noua_baza=transformare[::-1]
return noua_baza
def bitwise_xor(a,b):
stringul_1=transformare_baza(a,2)
stringul_2=transformare_baza(b,2)
lungime=max(len(stringul_1), len(stringul_2))
raspunsul=0
str_answ=[0]*lungime
for i in range(0,lungime):
j=lungime-1-i
if len(stringul_1)>i and len(stringul_2)>i:
if stringul_1[len(stringul_1)-1-i]!= stringul_2[len(stringul_2)-1-i]:
raspunsul+=2**(i)
str_answ[i]='1'
elif len(stringul_1)>i and stringul_1[len(stringul_1)-1-i]=='1':
raspunsul+=2**(i)
str_answ[i]='1'
elif len(stringul_2)>i and stringul_2[len(stringul_2)-1-i]=='1':
raspunsul+=2**(i)
str_answ[i]='1'
return raspunsul
def bitwise_or(a,b):
stringul_1=transformare_baza(a,2)
stringul_2=transformare_baza(b,2)
lungime=max(len(stringul_1), len(stringul_2))
raspunsul=0
str_answ=[0]*lungime
for i in range(0,lungime):
j=lungime-1-i
if len(stringul_1)>i and len(stringul_2)>i:
if stringul_1[len(stringul_1)-1-i]=='1' or stringul_2[len(stringul_2)-1-i]=='1':
raspunsul+=2**(i)
str_answ[i]='1'
elif len(stringul_1)>i and stringul_1[len(stringul_1)-1-i]=='1':
raspunsul+=2**(i)
str_answ[i]='1'
elif len(stringul_2)>i and stringul_2[len(stringul_2)-1-i]=='1':
raspunsul+=2**(i)
str_answ[i]='1'
return raspunsul
def suma_cifre(suma_cifrelor):
suma_cifr=0
while suma_cifrelor>0:
suma_cifr+=suma_cifrelor %10
suma_cifrelor=suma_cifrelor//10
return suma_cifr
def cmmdc(x,y):
maximul=max(x,y)
minimul=min(x,y)
while maximul!=minimul and minimul!=0:
dif=maximul-minimul
raport=dif//minimul
maximul-=minimul*(raport+1)
a=max(minimul,maximul)
b=min(minimul, maximul)
maximul=a
minimul=b
return (maximul)
dict = {}
alfabet = {'a': 1, 'b': 2,'c': 3,'d': 4,'e': 5,'f': 6,'g': 7,'h': 8,'i': 9,'j': 10,'k': 11,'l': 12,'m': 13,'n': 14,'o': 15,'p': 16,'q': 17,'r': 18,'s': 19,'t': 20,'u': 21,'v': 22,'w': 23,'x': 24,'y': 25,'z': 26}
contor=0
k=int(input())
while k>0:
n=int(input())
left_left=10**9+1
left_right=10**9+1
right_right=-1
right_left=-1
for i in range(0,n):
a,b=[int(i) for i in sys.stdin.readline().split()]
if b<left_right:
left_right=b
left_left=a
if a>right_left:
right_left=a
right_right=b
if right_left<=left_right:
print(0)
else:
print(abs(left_right-right_left))
k-=1
Teddy and Tweety | Partitioning binary strings |
Special sets | Smallest chosen word |
Going to office | Color the boxes |
Missing numbers | Maximum sum |
13 Reasons Why | Friend's Relationship |
Health of a person | Divisibility |
A. Movement | Numbers in a matrix |
Sequences | Split houses |
Divisible | Three primes |
Coprimes | Cost of balloons |
One String No Trouble | Help Jarvis! |
Lift queries | Goki and his breakup |
Ali and Helping innocent people | Book of Potion making |
Duration | Birthday Party |
e-maze-in | Bricks Game |